package com.woniuxy.factories;

import com.woniuxy.impl.American;
import com.woniuxy.impl.Chinese;

/**
 * @Author: 马宇航
 * @todo: 第二个工厂模式，工厂+反射，来降低耦合
 * @DateTime: 01/17/0017 上午 11:37
 * @Component: 成都蜗牛学苑
 **/
public class SecondFactory {
    /**
     * @Todo: 传入类名
     * ChangeLog : 1. 创建 (01/17/0017 上午 11:38 [马宇航]);
     * @param citizenship  表示类名
     * @return java.lang.Object
    */
    public Object doPerson(String citizenship){
        try {
            //通过反射，实例化一个类
            Object o = Class.forName("com.woniuxy.impl." + citizenship).newInstance();
            return o;
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (InstantiationException e) {
            e.printStackTrace();
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        }
        return null;
    }
}
